﻿Imports System.Data.OleDb
Imports BUS
Imports DTO



Public Class frmQuanLyNhanVien
    Dim vtClick As Integer = 0
    Dim dtNHANVIEN As DataTable
    Dim flagInsert As Boolean

    Private Sub frmQuanLy_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        cbxLoaiNguoiDung.SelectedIndex = 0
        Try
            If sessionNhanVien.LoaiNhanVien = 0 Then
                dgvNhanVien.DataSource = NhanVienBus.LayNguoiDungTheoMa(sessionNhanVien.MaNhanVien)
            Else
                dgvNhanVien.DataSource = NhanVienBus.LayDanhSachNguoiDung()
            End If
            Dim nhanVien As New NhanVienDto
            nhanVien = LayNguoiDung_DataGridView(0)
            HienThiLenTextboxs(nhanVien)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

        If sessionNhanVien.LoaiNhanVien = 0 Then
            txtTenDangNhap.Enabled = False
            btnThem.Enabled = False
            btnXoa.Enabled = False
        End If

    End Sub


    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        dgvNhanVien.Rows(0).Selected = False
        dgvNhanVien.Rows(dgvNhanVien.Rows.Count - 1).Selected = True

        If (dgvNhanVien.Rows(dgvNhanVien.Rows.Count - 1).Selected = True) Then
            'ResetTextboxs()
        End If
        Dim kt As String = KiemTra_NhapLieu_Them()
        If (kt <> "") Then
            MessageBox.Show(kt, "Thong bao")
            Exit Sub
        End If


        Dim kq As Integer = NhanVienBus.ThemNhanVien(Me.NhapNhanVien())
        If (kq = 0) Then
            MessageBox.Show("đã có trong dữ liệu", "Thông báo")
        Else
            dgvNhanVien.DataSource = NhanVienBus.LayDanhSachNguoiDung()

            dgvNhanVien.Rows(dgvNhanVien.Rows.Count - 1).Selected = True
            Dim nhanVien As NhanVienDto = LayNguoiDung_DataGridView(dgvNhanVien.Rows.Count - 2)
            HienThiLenTextboxs(nhanVien)
        End If
    End Sub

    Private Sub btnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThoat.Click
        Close()
    End Sub
    Public Sub ResetTextboxs()
        txtMaNhanVien.Text = ""
        txtTenDangNhap.Text = ""
        txtMatKhau.Text = ""
        txtHoTen.Text = ""
        txtDiaChi.Text = ""
        txtDienThoai.Text = ""
    End Sub
    Public Sub HienThiLenTextboxs(ByVal nhanVien As NhanVienDto)
        txtMaNhanVien.Text = nhanVien.MaNhanVien
        txtTenDangNhap.Text = nhanVien.TenDangNhap
        txtMatKhau.Text = nhanVien.MatKhau
        txtHoTen.Text = nhanVien.HoTen
        dtpNgaySinh.Value = nhanVien.NgaySinh.Date
        If (nhanVien.GioiTinh = 1) Then
            rdbNu.Checked = True
        Else
            rdbNam.Checked = True
        End If

        txtDiaChi.Text = nhanVien.DiaChi
        txtDienThoai.Text = nhanVien.DienThoai
        cbxLoaiNguoiDung.SelectedIndex = nhanVien.LoaiNhanVien
    End Sub
    Public Sub xl_Button(ByVal b As Boolean)
        btnThem.Enabled = b
        btnXoa.Enabled = b
        btnSua.Enabled = b
        btnTim.Enabled = Not b
    End Sub
    Public Function NhapNhanVien() As NhanVienDto

        Dim nhanVien As New NhanVienDto
        If IsNumeric(txtMaNhanVien.Text) Then
            nhanVien.MaNhanVien = txtMaNhanVien.Text
        End If
        nhanVien.TenDangNhap = txtTenDangNhap.Text
        nhanVien.MatKhau = txtMatKhau.Text
        nhanVien.HoTen = txtHoTen.Text
        nhanVien.NgaySinh = dtpNgaySinh.Value

        If rdbNu.Checked = True Then
            nhanVien.GioiTinh = 1
        Else
            nhanVien.GioiTinh = 0
        End If
        nhanVien.DiaChi = txtDiaChi.Text
        nhanVien.DienThoai = txtDienThoai.Text
        nhanVien.LoaiNhanVien = cbxLoaiNguoiDung.SelectedIndex

        Return nhanVien
    End Function
    Private Sub dgvNhanVien_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvNhanVien.MouseClick
        vtClick = dgvNhanVien.CurrentRow.Index

        If vtClick = dgvNhanVien.Rows.Count - 1 Then
            ResetTextboxs()
            Exit Sub
        End If
        Try
            Dim nhanVien As NhanVienDto
            nhanVien = LayNguoiDung_DataGridView(vtClick)
            HienThiLenTextboxs(nhanVien)
        Catch ex As Exception

        End Try

    End Sub
    Public Function LayNguoiDung_DataGridView(ByVal vtdong As Integer) As NhanVienDto
        Dim nhanVien As New NhanVienDto
        nhanVien.MaNhanVien = dgvNhanVien.Rows(vtdong).Cells("MaNhanVien").Value
        nhanVien.TenDangNhap = dgvNhanVien.Rows(vtdong).Cells("TenDangNhap").Value
        nhanVien.MatKhau = dgvNhanVien.Rows(vtdong).Cells("MatKhau").Value
        nhanVien.HoTen = dgvNhanVien.Rows(vtdong).Cells("HoTen").Value
        nhanVien.NgaySinh = dgvNhanVien.Rows(vtdong).Cells("NgaySinh").Value
        Dim phai As String = dgvNhanVien.Rows(vtdong).Cells("Phai").Value
        If (phai = "Nam") Then
            nhanVien.GioiTinh = 0
        Else
            nhanVien.GioiTinh = 1
        End If
        nhanVien.DiaChi = dgvNhanVien.Rows(vtdong).Cells("DiaChi").Value
        nhanVien.DienThoai = dgvNhanVien.Rows(vtdong).Cells("DienThoai").Value
        nhanVien.LoaiNhanVien = dgvNhanVien.Rows(vtdong).Cells("LoaiNhanVien").Value
        Return nhanVien
    End Function

    Public Function KiemTra_NhapLieu_Them() As String
        Dim str As String = ""
        If KT_TenDangNhap(txtTenDangNhap.Text) <> "" Then
            str = KT_TenDangNhap(txtTenDangNhap.Text)
            txtTenDangNhap.Focus()
            Return str
        ElseIf KT_MatKhau(txtMatKhau.Text) <> "" Then
            str = KT_MatKhau(txtMatKhau.Text)
            txtMatKhau.Focus()
            Return str
        ElseIf txtHoTen.Text = "" Then
            str = "Ho ten khong duoc rong !!"
            txtHoTen.Focus()
            Return str
        ElseIf txtDienThoai.Text = "" Then
            ' str = "Điện thoại không được rỗng !!"
            'txtDienThoai.Focus()
            'Return str
        ElseIf txtDiaChi.Text = "" Then
            str = "Địa chỉ không được rỗng !!"
            txtDiaChi.Focus()
            Return str
        End If
        Return str
    End Function


    Private Sub dgvNhanVien_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvNhanVien.SelectionChanged

        vtClick = dgvNhanVien.CurrentRow.Index

        If vtClick = dgvNhanVien.Rows.Count - 1 Then
            'ResetTextboxs()
            Exit Sub
        End If
        Try
            Dim nhanVien As NhanVienDto
            nhanVien = LayNguoiDung_DataGridView(vtClick)
            HienThiLenTextboxs(nhanVien)
        Catch ex As Exception

        End Try
    End Sub

    Private Sub btnTim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        Dim nhanVien As New NhanVienDto
        nhanVien.TenDangNhap = txtTenDangNhap.Text
        nhanVien.HoTen = txtHoTen.Text
        nhanVien.DienThoai = txtDienThoai.Text
        If rdbNam.Checked = True Then
            nhanVien.GioiTinh = 0
        ElseIf rdbNu.Checked = True Then
            nhanVien.GioiTinh = 1
        End If
        dgvNhanVien.DataSource = NhanVienBus.TimKiemNhanVien(nhanVien)
    End Sub

    Private Sub btnXoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        If vtClick = 0 Then
            ResetTextboxs()
        End If
        If vtClick = dgvNhanVien.Rows.Count - 1 Then
            MessageBox.Show("Chọn dòng có dữ liệu cần xoá !!", "Thông báo")
            Exit Sub
        End If
        Dim nhanVien As New NhanVienDto
        nhanVien.MaNhanVien = dgvNhanVien.Rows(vtClick).Cells("MaNhanVien").Value
        NhanVienBus.XoaNhanVien(nhanVien)
        dgvNhanVien.DataSource = NhanVienBus.LayDanhSachNguoiDung()
        nhanVien = LayNguoiDung_DataGridView(0)
        HienThiLenTextboxs(nhanVien)
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        If vtClick = dgvNhanVien.Rows.Count - 1 Then
            MessageBox.Show("Chọn dòng dữ liệu cần sửa !!", "Thông báo")
            Exit Sub
        End If

        Dim nhanVien As New NhanVienDto
        nhanVien = NhapNhanVien()
        NhanVienBus.CapNhatNhanVien(nhanVien)

        If sessionNhanVien.LoaiNhanVien = 0 Then
            dgvNhanVien.DataSource = NhanVienBus.LayNguoiDungTheoMa(sessionNhanVien.MaNhanVien)
        Else
            dgvNhanVien.DataSource = NhanVienBus.LayDanhSachNguoiDung()
        End If

        nhanVien = LayNguoiDung_DataGridView(0)
        HienThiLenTextboxs(nhanVien)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        txtHoTen.Text = ""
        txtDiaChi.Text = ""
        txtDienThoai.Text = ""
        txtMaNhanVien.Text = ""
        txtMatKhau.Text = ""
        txtTenDangNhap.Text = ""
        dtpNgaySinh.Text = ""
        rdbNam.Text = ""
        rdbNu.Text = ""

    End Sub
End Class